--
-- Drop and Create Script 
--   Database Version   : 8.1.7.4.1 
--   TOAD Version       : 9.0.1.8 
--   DB Connect String  : TNQN 
--   Schema             : SIGINRLS 
--   Script Created by  : SIGINRLS 
--   Script Created at  : 1/3/2008 14:59:26 
--   Physical Location  :  
--   Notes              :  
--

-- Object Counts: 
--   Indexes: 44        Columns: 49         
--   Sequences: 1 
--   Tables: 29         Columns: 180        Constraints: 64     
--   Triggers: 2 
--   Views: 8           


DROP SEQUENCE PROYECTOSLOGSEQ;

--
-- PROYECTOSLOGSEQ  (Sequence) 
--
CREATE SEQUENCE PROYECTOSLOGSEQ
  START WITH 22
  MAXVALUE 999999999999999999999999999
  MINVALUE 1
  NOCYCLE
  NOCACHE
  NOORDER;


ALTER TABLE ESTADOINSTANCIA
 DROP PRIMARY KEY CASCADE;
DROP TABLE ESTADOINSTANCIA CASCADE CONSTRAINTS;

--
-- ESTADOINSTANCIA  (Table) 
--
CREATE TABLE ESTADOINSTANCIA
(
  IDESTAINSTA  NUMBER                           NOT NULL,
  NOMBRE       VARCHAR2(30)                     NOT NULL,
  DESCRIP      VARCHAR2(255)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE ESTADOPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE ESTADOPROYECTO CASCADE CONSTRAINTS;

--
-- ESTADOPROYECTO  (Table) 
--
CREATE TABLE ESTADOPROYECTO
(
  IDESTADOPROYECTO  NUMBER(38)                  NOT NULL,
  NOMBRE            VARCHAR2(30)                NOT NULL,
  DESCRIPCION       VARCHAR2(255)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE INSTANCIAS
 DROP PRIMARY KEY CASCADE;
DROP TABLE INSTANCIAS CASCADE CONSTRAINTS;

--
-- INSTANCIAS  (Table) 
--
CREATE TABLE INSTANCIAS
(
  IDINSTANCIA      NUMBER                       NOT NULL,
  IDTIPOINSTANCIA  NUMBER                       NOT NULL,
  NOMBRE           VARCHAR2(30)                 NOT NULL,
  DESCRIP          VARCHAR2(255)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE NORMAS
 DROP PRIMARY KEY CASCADE;
DROP TABLE NORMAS CASCADE CONSTRAINTS;

--
-- NORMAS  (Table) 
--
CREATE TABLE NORMAS
(
  IDNORMA  NUMBER                               NOT NULL,
  NOMBRE   VARCHAR2(30)                         NOT NULL,
  URL      VARCHAR2(80)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE NUMERADORPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE NUMERADORPROYECTO CASCADE CONSTRAINTS;

--
-- NUMERADORPROYECTO  (Table) 
--
CREATE TABLE NUMERADORPROYECTO
(
  IDPROYECTO  NUMBER(38)                        NOT NULL,
  ANIO        NUMBER(38)                        NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


DROP TABLE PARAMETROS CASCADE CONSTRAINTS;

--
-- PARAMETROS  (Table) 
--
CREATE TABLE PARAMETROS
(
  OPENSAYOS                       NUMBER(38),
  OPOBRAS                         NUMBER(38),
  ESTAPROYECTOINICIADO            NUMBER(38),
  ESTAPROYECTOCERRADO             NUMBER(38),
  IDROLCLIENTE                    NUMBER(38),
  IDREGISTROCALIDAD               NUMBER(38),
  TIPODOCUREGISTROCALIDAD         NUMBER(38),
  IDTIPODOCUMENTOPEDIDO           NUMBER,
  ESTAPROYECTOSOLICITADO          NUMBER,
  IDROLCONSULTA                   NUMBER,
  INSPECTOROBRA                   NUMBER,
  INGENIEROPROYECTO               NUMBER,
  LIDERINGENIERIA                 NUMBER(38),
  LIDERCONSTRUCCION               NUMBER(38),
  JEFEAREA                        NUMBER(38),
  TIPODOCUMENTOCAMBIOALCANCE      INTEGER,
  IDCAMBIOALCANCE                 INTEGER,
  ESTAPROYECTOSUSPENDIDO          INTEGER,
  DOCUMENTOLAYOUTINSTALACION      INTEGER,
  DOCUMENTOPIDINSTALACION         INTEGER,
  INSTANCIACONFORMEOBRA           INTEGER,
  ESTAPROYECTOFINALIZADO          INTEGER,
  TIPODOCUMENTOUNIFILARELECTRICO  NUMBER,
  TIPODOCUMENTODFP                NUMBER
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE PERMISOS
 DROP PRIMARY KEY CASCADE;
DROP TABLE PERMISOS CASCADE CONSTRAINTS;

--
-- PERMISOS  (Table) 
--
CREATE TABLE PERMISOS
(
  IDPERMISO  NUMBER                             NOT NULL,
  NOMBRE     VARCHAR2(30)                       NOT NULL,
  DESCRIP    VARCHAR2(512),
  IDPADRE    NUMBER
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE PERSONAS
 DROP PRIMARY KEY CASCADE;
DROP TABLE PERSONAS CASCADE CONSTRAINTS;

--
-- PERSONAS  (Table) 
--
CREATE TABLE PERSONAS
(
  IDPERSONA  NUMBER(38)                         NOT NULL,
  USERNAME   VARCHAR2(10)                       NOT NULL,
  NOMBRE     VARCHAR2(50),
  APELLIDO   VARCHAR2(30),
  DESCRIP    VARCHAR2(250),
  EMAIL      VARCHAR2(50)                       NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE PROYECTOSLOG
 DROP PRIMARY KEY CASCADE;
DROP TABLE PROYECTOSLOG CASCADE CONSTRAINTS;

--
-- PROYECTOSLOG  (Table) 
--
CREATE TABLE PROYECTOSLOG
(
  IDPROYECTOLOG           NUMBER                NOT NULL,
  FECHALOG                DATE                  DEFAULT SYSDATE               NOT NULL,
  IDPROYECTO              NUMBER                NOT NULL,
  NOMBRE                  VARCHAR2(70)          NOT NULL,
  CREADOR                 NUMBER,
  FECHA                   DATE                  NOT NULL,
  IDESTADO                NUMBER,
  CLIENTE                 NUMBER                NOT NULL,
  DESCRIP                 VARCHAR2(255),
  IDTIPOPROYEC            NUMBER,
  IDJERAR                 NUMBER,
  IDRESPONSABLE           NUMBER,
  IDINSPECTOROBRA         NUMBER,
  IDINGENIEROPROYECTO     NUMBER,
  IDSUBTIPOPROYECTO       NUMBER,
  FECHACARGAREGAMBIENTAL  DATE,
  NUMREGAMBIENTAL         VARCHAR2(100),
  FECHAINICIO             DATE,
  CODIGO                  VARCHAR2(20),
  PEP                     VARCHAR2(25),
  GRAFO                   VARCHAR2(18),
  PRESUPUESTO             VARCHAR2(6),
  NO_CONCURSO             VARCHAR2(11),
  IDLIDERPROYECTO         INTEGER
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE ROLES
 DROP PRIMARY KEY CASCADE;
DROP TABLE ROLES CASCADE CONSTRAINTS;

--
-- ROLES  (Table) 
--
CREATE TABLE ROLES
(
  IDROL    NUMBER                               NOT NULL,
  NOMBRE   VARCHAR2(30)                         NOT NULL,
  DESCRIP  VARCHAR2(255)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE ROLPERMISO
 DROP PRIMARY KEY CASCADE;
DROP TABLE ROLPERMISO CASCADE CONSTRAINTS;

--
-- ROLPERMISO  (Table) 
--
--  Dependencies: 
--   PERMISOS (Table)
--   ROLES (Table)
--
CREATE TABLE ROLPERMISO
(
  IDROLPERMISO  NUMBER                          NOT NULL,
  IDROL         NUMBER,
  IDPERMISO     NUMBER
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE TIPODOCUMENTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE TIPODOCUMENTO CASCADE CONSTRAINTS;

--
-- TIPODOCUMENTO  (Table) 
--
CREATE TABLE TIPODOCUMENTO
(
  IDTIPODOCUMENTO  NUMBER(38)                   NOT NULL,
  NOMBRE           VARCHAR2(30)                 NOT NULL,
  DESCRIPCION      VARCHAR2(255)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE TIPOINSTALACION
 DROP PRIMARY KEY CASCADE;
DROP TABLE TIPOINSTALACION CASCADE CONSTRAINTS;

--
-- TIPOINSTALACION  (Table) 
--
CREATE TABLE TIPOINSTALACION
(
  IDTIPOINSTALACION  NUMBER(38)                 NOT NULL,
  NOMBRE             VARCHAR2(50)               NOT NULL,
  DESCRIPCION        VARCHAR2(512)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE TIPOINSTTIPODOC
 DROP PRIMARY KEY CASCADE;
DROP TABLE TIPOINSTTIPODOC CASCADE CONSTRAINTS;

--
-- TIPOINSTTIPODOC  (Table) 
--
--  Dependencies: 
--   TIPOINSTALACION (Table)
--   TIPODOCUMENTO (Table)
--
CREATE TABLE TIPOINSTTIPODOC
(
  IDTIPOINSTALACION  NUMBER                     NOT NULL,
  IDTIPODOCUMENTO    NUMBER                     NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE TIPOPROYECTOS
 DROP PRIMARY KEY CASCADE;
DROP TABLE TIPOPROYECTOS CASCADE CONSTRAINTS;

--
-- TIPOPROYECTOS  (Table) 
--
CREATE TABLE TIPOPROYECTOS
(
  IDTIPOPROYEC  NUMBER                          NOT NULL,
  NOMBRE        VARCHAR2(30)                    NOT NULL,
  DESCRIP       VARCHAR2(255)
)
LOGGING 
NOCACHE
NOPARALLEL;


--
-- PKESTADOPROYECTO  (Index) 
--
--  Dependencies: 
--   ESTADOPROYECTO (Table)
--
CREATE UNIQUE INDEX PKESTADOPROYECTO ON ESTADOPROYECTO
(IDESTADOPROYECTO)
LOGGING
NOPARALLEL;


--
-- PKNUMERADORPROYECTO  (Index) 
--
--  Dependencies: 
--   NUMERADORPROYECTO (Table)
--
CREATE UNIQUE INDEX PKNUMERADORPROYECTO ON NUMERADORPROYECTO
(ANIO, IDPROYECTO)
LOGGING
NOPARALLEL;


--
-- PKTIPODOCUMENTO  (Index) 
--
--  Dependencies: 
--   TIPODOCUMENTO (Table)
--
CREATE UNIQUE INDEX PKTIPODOCUMENTO ON TIPODOCUMENTO
(IDTIPODOCUMENTO)
LOGGING
NOPARALLEL;


--
-- PKTIPOINSTALACION  (Index) 
--
--  Dependencies: 
--   TIPOINSTALACION (Table)
--
CREATE UNIQUE INDEX PKTIPOINSTALACION ON TIPOINSTALACION
(IDTIPOINSTALACION)
LOGGING
NOPARALLEL;


--
-- PK_TIPOINSTTIPODOC  (Index) 
--
--  Dependencies: 
--   TIPOINSTTIPODOC (Table)
--
CREATE UNIQUE INDEX PK_TIPOINSTTIPODOC ON TIPOINSTTIPODOC
(IDTIPOINSTALACION, IDTIPODOCUMENTO)
LOGGING
NOPARALLEL;


--
-- XIF1ROLPERMISO  (Index) 
--
--  Dependencies: 
--   ROLPERMISO (Table)
--
CREATE INDEX XIF1ROLPERMISO ON ROLPERMISO
(IDROL)
LOGGING
NOPARALLEL;


--
-- XIF2ROLPERMISO  (Index) 
--
--  Dependencies: 
--   ROLPERMISO (Table)
--
CREATE INDEX XIF2ROLPERMISO ON ROLPERMISO
(IDPERMISO)
LOGGING
NOPARALLEL;


--
-- XPKESTADOINSTANCIA  (Index) 
--
--  Dependencies: 
--   ESTADOINSTANCIA (Table)
--
CREATE UNIQUE INDEX XPKESTADOINSTANCIA ON ESTADOINSTANCIA
(IDESTAINSTA)
LOGGING
NOPARALLEL;


--
-- XPKINSTANCIAS  (Index) 
--
--  Dependencies: 
--   INSTANCIAS (Table)
--
CREATE UNIQUE INDEX XPKINSTANCIAS ON INSTANCIAS
(IDINSTANCIA)
LOGGING
NOPARALLEL;


--
-- XPKNORMAS  (Index) 
--
--  Dependencies: 
--   NORMAS (Table)
--
CREATE UNIQUE INDEX XPKNORMAS ON NORMAS
(IDNORMA)
LOGGING
NOPARALLEL;


--
-- XPKPERMISOS  (Index) 
--
--  Dependencies: 
--   PERMISOS (Table)
--
CREATE UNIQUE INDEX XPKPERMISOS ON PERMISOS
(IDPERMISO)
LOGGING
NOPARALLEL;


--
-- XPKPERSONAS  (Index) 
--
--  Dependencies: 
--   PERSONAS (Table)
--
CREATE UNIQUE INDEX XPKPERSONAS ON PERSONAS
(IDPERSONA)
LOGGING
NOPARALLEL;


--
-- XPKPROYECTOSLOG  (Index) 
--
--  Dependencies: 
--   PROYECTOSLOG (Table)
--
CREATE UNIQUE INDEX XPKPROYECTOSLOG ON PROYECTOSLOG
(IDPROYECTOLOG)
LOGGING
NOPARALLEL;


--
-- XPKROLES  (Index) 
--
--  Dependencies: 
--   ROLES (Table)
--
CREATE UNIQUE INDEX XPKROLES ON ROLES
(IDROL)
LOGGING
NOPARALLEL;


--
-- XPKROLPERMISO  (Index) 
--
--  Dependencies: 
--   ROLPERMISO (Table)
--
CREATE UNIQUE INDEX XPKROLPERMISO ON ROLPERMISO
(IDROLPERMISO)
LOGGING
NOPARALLEL;


--
-- XPKTIPOPROYECTOS  (Index) 
--
--  Dependencies: 
--   TIPOPROYECTOS (Table)
--
CREATE UNIQUE INDEX XPKTIPOPROYECTOS ON TIPOPROYECTOS
(IDTIPOPROYEC)
LOGGING
NOPARALLEL;


DROP VIEW TIPOINSTTIPODOC_VIEW;

--
-- TIPOINSTTIPODOC_VIEW  (View) 
--
--  Dependencies: 
--   TIPODOCUMENTO (Table)
--   TIPOINSTTIPODOC (Table)
--   TIPOINSTALACION (Table)
--
CREATE OR REPLACE VIEW TIPOINSTTIPODOC_VIEW
AS 
SELECT tip.idtipoinstalacion, tip.idtipodocumento, tdoc.nombre tipodocnombre, 
       tdoc.descripcion tipodocdescripcion, tins.nombre tipoinstnombre, 
       tins.descripcion tipoinstdescripcion 
  FROM tipoinsttipodoc tip, tipoinstalacion tins, tipodocumento tdoc 
 WHERE (    (tins.idtipoinstalacion = tip.idtipoinstalacion) 
        AND (tdoc.idtipodocumento = tip.idtipodocumento));


--
-- PROYECTOSLOGTRG  (Trigger) 
--
--  Dependencies: 
--   PROYECTOSLOG (Table)
--   DUAL (Table)
--   DUAL (Synonym)
--   STANDARD (Package)
--   PROYECTOSLOGSEQ (Sequence)
--   DUAL ()
--
CREATE OR REPLACE TRIGGER proyectoslogtrg
   BEFORE INSERT
   ON proyectoslog
   REFERENCING NEW AS NEW OLD AS OLD
   FOR EACH ROW
DECLARE
   tmpvar   NUMBER;
BEGIN
   tmpvar := 0;

   SELECT proyectoslogseq.NEXTVAL
     INTO tmpvar
     FROM DUAL;

   :NEW.idproyectolog := tmpvar;
END proyectoslogtrg;
/
SHOW ERRORS;



ALTER TABLE DOCUMENTOS
 DROP PRIMARY KEY CASCADE;
DROP TABLE DOCUMENTOS CASCADE CONSTRAINTS;

--
-- DOCUMENTOS  (Table) 
--
--  Dependencies: 
--   TIPODOCUMENTO (Table)
--
CREATE TABLE DOCUMENTOS
(
  IDDOCUMENTO      NUMBER(38)                   NOT NULL,
  NOMBRE           VARCHAR2(255)                NOT NULL,
  PATH             VARCHAR2(400)                NOT NULL,
  SERVIDOR         VARCHAR2(50),
  IDTIPODOCUMENTO  NUMBER(38),
  NOMBREDESCRIP    VARCHAR2(100)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE INSTANCIATIPODOCUMENTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE INSTANCIATIPODOCUMENTO CASCADE CONSTRAINTS;

--
-- INSTANCIATIPODOCUMENTO  (Table) 
--
--  Dependencies: 
--   INSTANCIAS (Table)
--   TIPODOCUMENTO (Table)
--
CREATE TABLE INSTANCIATIPODOCUMENTO
(
  IDINSTANCIA      NUMBER(38)                   NOT NULL,
  IDTIPODOCUMENTO  NUMBER(38)                   NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE INSTANCIATIPOPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE INSTANCIATIPOPROYECTO CASCADE CONSTRAINTS;

--
-- INSTANCIATIPOPROYECTO  (Table) 
--
--  Dependencies: 
--   INSTANCIAS (Table)
--   TIPOPROYECTOS (Table)
--
CREATE TABLE INSTANCIATIPOPROYECTO
(
  IDINSTANCIATIPOPROYECTO  NUMBER               NOT NULL,
  IDTIPOPROYEC             NUMBER,
  IDINSTANCIA              NUMBER,
  ACTUAL                   NUMBER,
  ORDEN                    INTEGER
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE JERARQUIAS
 DROP PRIMARY KEY CASCADE;
DROP TABLE JERARQUIAS CASCADE CONSTRAINTS;

--
-- JERARQUIAS  (Table) 
--
--  Dependencies: 
--   TIPOINSTALACION (Table)
--
CREATE TABLE JERARQUIAS
(
  IDJERAR            NUMBER                     NOT NULL,
  JERAR              VARCHAR2(30)               NOT NULL,
  NIVEL              NUMBER                     NOT NULL,
  IDPADRE            NUMBER,
  IDTIPOINSTALACION  INTEGER,
  CODIGOINSTALACION  VARCHAR2(40)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE PROYECTOS
 DROP PRIMARY KEY CASCADE;
DROP TABLE PROYECTOS CASCADE CONSTRAINTS;

--
-- PROYECTOS  (Table) 
--
--  Dependencies: 
--   PERSONAS (Table)
--   ESTADOPROYECTO (Table)
--   JERARQUIAS (Table)
--   TIPOPROYECTOS (Table)
--
CREATE TABLE PROYECTOS
(
  IDPROYECTO              NUMBER                NOT NULL,
  NOMBRE                  VARCHAR2(70)          NOT NULL,
  CREADOR                 NUMBER,
  FECHA                   DATE                  NOT NULL,
  IDESTADO                NUMBER,
  CLIENTE                 NUMBER                NOT NULL,
  DESCRIP                 VARCHAR2(255),
  IDTIPOPROYEC            NUMBER,
  IDJERAR                 NUMBER,
  IDRESPONSABLE           NUMBER,
  IDINSPECTOROBRA         NUMBER,
  IDINGENIEROPROYECTO     NUMBER,
  IDSUBTIPOPROYECTO       NUMBER,
  FECHACARGAREGAMBIENTAL  DATE,
  NUMREGAMBIENTAL         VARCHAR2(100),
  FECHAINICIO             DATE,
  CODIGO                  VARCHAR2(20),
  PEP                     VARCHAR2(25),
  GRAFO                   VARCHAR2(18),
  PRESUPUESTO             VARCHAR2(6),
  NO_CONCURSO             VARCHAR2(11),
  IDLIDERPROYECTO         INTEGER
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE ROLJERARQUIAPERSONA
 DROP PRIMARY KEY CASCADE;
DROP TABLE ROLJERARQUIAPERSONA CASCADE CONSTRAINTS;

--
-- ROLJERARQUIAPERSONA  (Table) 
--
--  Dependencies: 
--   PERSONAS (Table)
--   JERARQUIAS (Table)
--   ROLES (Table)
--
CREATE TABLE ROLJERARQUIAPERSONA
(
  IDROLJERARQUIAPERSONA  NUMBER                 NOT NULL,
  IDROL                  NUMBER,
  IDJERAR                NUMBER,
  IDPERSONA              NUMBER
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE ROLPERSONAPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE ROLPERSONAPROYECTO CASCADE CONSTRAINTS;

--
-- ROLPERSONAPROYECTO  (Table) 
--
--  Dependencies: 
--   PERSONAS (Table)
--   PROYECTOS (Table)
--   ROLES (Table)
--
CREATE TABLE ROLPERSONAPROYECTO
(
  IDROLPERSONAPROYECTO  NUMBER(38)              NOT NULL,
  IDPERSONA             NUMBER(38)              NOT NULL,
  IDPROYECTO            NUMBER(38)              NOT NULL,
  IDROL                 NUMBER(38)              NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE ROLTIPOPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE ROLTIPOPROYECTO CASCADE CONSTRAINTS;

--
-- ROLTIPOPROYECTO  (Table) 
--
--  Dependencies: 
--   TIPOPROYECTOS (Table)
--   ROLES (Table)
--
CREATE TABLE ROLTIPOPROYECTO
(
  IDROL         NUMBER(38)                      NOT NULL,
  IDTIPOPROYEC  NUMBER(38)                      NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE SUBTIPOPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE SUBTIPOPROYECTO CASCADE CONSTRAINTS;

--
-- SUBTIPOPROYECTO  (Table) 
--
--  Dependencies: 
--   TIPOPROYECTOS (Table)
--
CREATE TABLE SUBTIPOPROYECTO
(
  IDSUBTIPOPROYECTO  NUMBER(38)                 NOT NULL,
  NOMBRE             VARCHAR2(50)               NOT NULL,
  DESCRIP            VARCHAR2(255),
  IDTIPOPROYECTO     NUMBER(38)
)
LOGGING 
NOCACHE
NOPARALLEL;


--
-- IDXUNICO  (Index) 
--
--  Dependencies: 
--   INSTANCIATIPOPROYECTO (Table)
--
CREATE UNIQUE INDEX IDXUNICO ON INSTANCIATIPOPROYECTO
(IDTIPOPROYEC, IDINSTANCIA)
LOGGING
NOPARALLEL;


--
-- IDXUNIQUECODIGOINSTALACION  (Index) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--
CREATE UNIQUE INDEX IDXUNIQUECODIGOINSTALACION ON JERARQUIAS
(CODIGOINSTALACION)
LOGGING
NOPARALLEL;


--
-- PKINSTANCIATIPODOCUMENTO  (Index) 
--
--  Dependencies: 
--   INSTANCIATIPODOCUMENTO (Table)
--
CREATE UNIQUE INDEX PKINSTANCIATIPODOCUMENTO ON INSTANCIATIPODOCUMENTO
(IDTIPODOCUMENTO, IDINSTANCIA)
LOGGING
NOPARALLEL;


--
-- PKROLTIPOPROYECTO  (Index) 
--
--  Dependencies: 
--   ROLTIPOPROYECTO (Table)
--
CREATE UNIQUE INDEX PKROLTIPOPROYECTO ON ROLTIPOPROYECTO
(IDROL, IDTIPOPROYEC)
LOGGING
NOPARALLEL;


--
-- PKSUBTIPOPROYECTO  (Index) 
--
--  Dependencies: 
--   SUBTIPOPROYECTO (Table)
--
CREATE UNIQUE INDEX PKSUBTIPOPROYECTO ON SUBTIPOPROYECTO
(IDSUBTIPOPROYECTO)
LOGGING
NOPARALLEL;


--
-- PK_ROLPERSONAPROYECTO  (Index) 
--
--  Dependencies: 
--   ROLPERSONAPROYECTO (Table)
--
CREATE UNIQUE INDEX PK_ROLPERSONAPROYECTO ON ROLPERSONAPROYECTO
(IDROLPERSONAPROYECTO)
LOGGING
NOPARALLEL;


--
-- XIF1INSTANCIATIPOPROYECTO  (Index) 
--
--  Dependencies: 
--   INSTANCIATIPOPROYECTO (Table)
--
CREATE INDEX XIF1INSTANCIATIPOPROYECTO ON INSTANCIATIPOPROYECTO
(IDTIPOPROYEC)
LOGGING
NOPARALLEL;


--
-- XIF1PROYECTOS  (Index) 
--
--  Dependencies: 
--   PROYECTOS (Table)
--
CREATE INDEX XIF1PROYECTOS ON PROYECTOS
(IDTIPOPROYEC)
LOGGING
NOPARALLEL;


--
-- XIF1ROLJERARQUIAPERSONA  (Index) 
--
--  Dependencies: 
--   ROLJERARQUIAPERSONA (Table)
--
CREATE INDEX XIF1ROLJERARQUIAPERSONA ON ROLJERARQUIAPERSONA
(IDROL)
LOGGING
NOPARALLEL;


--
-- XIF2INSTANCIATIPOPROYECTO  (Index) 
--
--  Dependencies: 
--   INSTANCIATIPOPROYECTO (Table)
--
CREATE INDEX XIF2INSTANCIATIPOPROYECTO ON INSTANCIATIPOPROYECTO
(IDINSTANCIA)
LOGGING
NOPARALLEL;


--
-- XIF2PROYECTOS  (Index) 
--
--  Dependencies: 
--   PROYECTOS (Table)
--
CREATE INDEX XIF2PROYECTOS ON PROYECTOS
(IDJERAR)
LOGGING
NOPARALLEL;


--
-- XIF2ROLJERARQUIAPERSONA  (Index) 
--
--  Dependencies: 
--   ROLJERARQUIAPERSONA (Table)
--
CREATE INDEX XIF2ROLJERARQUIAPERSONA ON ROLJERARQUIAPERSONA
(IDJERAR)
LOGGING
NOPARALLEL;


--
-- XIF3ROLJERARQUIAPERSONA  (Index) 
--
--  Dependencies: 
--   ROLJERARQUIAPERSONA (Table)
--
CREATE INDEX XIF3ROLJERARQUIAPERSONA ON ROLJERARQUIAPERSONA
(IDPERSONA)
LOGGING
NOPARALLEL;


--
-- XPKDOCUMENTOS  (Index) 
--
--  Dependencies: 
--   DOCUMENTOS (Table)
--
CREATE UNIQUE INDEX XPKDOCUMENTOS ON DOCUMENTOS
(IDDOCUMENTO)
LOGGING
NOPARALLEL;


--
-- XPKINSTANCIATIPOPROYECTO  (Index) 
--
--  Dependencies: 
--   INSTANCIATIPOPROYECTO (Table)
--
CREATE UNIQUE INDEX XPKINSTANCIATIPOPROYECTO ON INSTANCIATIPOPROYECTO
(IDINSTANCIATIPOPROYECTO)
LOGGING
NOPARALLEL;


--
-- XPKJERARQUIAS  (Index) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--
CREATE UNIQUE INDEX XPKJERARQUIAS ON JERARQUIAS
(IDJERAR)
LOGGING
NOPARALLEL;


--
-- XPKPROYECTOS  (Index) 
--
--  Dependencies: 
--   PROYECTOS (Table)
--
CREATE UNIQUE INDEX XPKPROYECTOS ON PROYECTOS
(IDPROYECTO)
LOGGING
NOPARALLEL;


--
-- XPKROLJERARQUIAPERSONA  (Index) 
--
--  Dependencies: 
--   ROLJERARQUIAPERSONA (Table)
--
CREATE UNIQUE INDEX XPKROLJERARQUIAPERSONA ON ROLJERARQUIAPERSONA
(IDROLJERARQUIAPERSONA)
LOGGING
NOPARALLEL;


DROP VIEW INSTALACIONDOCUMENTOS_VIEW;

--
-- INSTALACIONDOCUMENTOS_VIEW  (View) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--   TIPOINSTTIPODOC_VIEW (View)
--
CREATE OR REPLACE VIEW INSTALACIONDOCUMENTOS_VIEW
AS 
SELECT distinct tip.idtipodocumento ID, tip.tipodocnombre descrip, jer.idjerar idinstalacion 
  FROM jerarquias jer, tipoinsttipodoc_view tip 
 WHERE ((jer.idtipoinstalacion = tip.idtipoinstalacion));


DROP VIEW TIPOJERARQUIA_VIEW;

--
-- TIPOJERARQUIA_VIEW  (View) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--   TIPOINSTALACION (Table)
--
CREATE OR REPLACE VIEW TIPOJERARQUIA_VIEW
AS 
SELECT IDJERAR, DECODE(NIVEL, 
	   				 0, 'UN', 
					 1, 'UE', 
					 2, 'ZONA', 
					 3, 'YACIMIENTO', 
					 4, TIP.NOMBRE) AS TIPO, NIVEL 
FROM JERARQUIAS JER,  TIPOINSTALACION TIP
WHERE JER.IDTIPOINSTALACION = TIP.IDTIPOINSTALACION(+)
ORDER BY NIVEL;


DROP VIEW UE_VIEW;

--
-- UE_VIEW  (View) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--
CREATE OR REPLACE VIEW UE_VIEW
AS 
SELECT   ins.idjerar, ins.jerar, ins.idpadre
    FROM jerarquias ins
   WHERE ((ins.nivel = 1))
ORDER BY ins.idjerar ASC;


DROP VIEW UN_VIEW;

--
-- UN_VIEW  (View) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--
CREATE OR REPLACE VIEW UN_VIEW
AS 
SELECT   ins.idjerar, ins.jerar, ins.idpadre
    FROM jerarquias ins
   WHERE ((ins.nivel = 0))
ORDER BY ins.idjerar ASC;


DROP VIEW ZONA_VIEW;

--
-- ZONA_VIEW  (View) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--
CREATE OR REPLACE VIEW ZONA_VIEW
AS 
SELECT   ins.idjerar, ins.jerar, ins.idpadre
    FROM jerarquias ins
   WHERE ((ins.nivel = 2))
ORDER BY ins.idjerar ASC;


--
-- PROYECTOSTRG  (Trigger) 
--
--  Dependencies: 
--   PROYECTOS (Table)
--   STANDARD (Package)
--   PROYECTOSLOG (Table)
--
CREATE OR REPLACE TRIGGER PROYECTOSTRG
AFTER INSERT OR UPDATE
ON PROYECTOS 
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
   INSERT INTO proyectoslog
               (idproyecto, nombre, creador, fecha,
                idestado, cliente, descrip,
                idtipoproyec, idjerar, idresponsable,
                idinspectorobra, idingenieroproyecto,
                idsubtipoproyecto, fechacargaregambiental,
                numregambiental, fechainicio, codigo,
                pep, grafo, presupuesto, no_concurso,
                idliderproyecto
               )
        VALUES (:NEW.idproyecto, :NEW.nombre, :NEW.creador, :NEW.fecha,
                :NEW.idestado, :NEW.cliente, :NEW.descrip,
                :NEW.idtipoproyec, :NEW.idjerar, :NEW.idresponsable,
                :NEW.idinspectorobra, :NEW.idingenieroproyecto,
                :NEW.idsubtipoproyecto, :NEW.fechacargaregambiental,
                :NEW.numregambiental, :NEW.fechainicio, :NEW.codigo,
                :NEW.pep, :NEW.grafo, :NEW.presupuesto, :NEW.no_concurso,
                :NEW.idliderproyecto
               );
END proyectostrg;
/
SHOW ERRORS;



ALTER TABLE CAMBIOSALCANCE
 DROP PRIMARY KEY CASCADE;
DROP TABLE CAMBIOSALCANCE CASCADE CONSTRAINTS;

--
-- CAMBIOSALCANCE  (Table) 
--
--  Dependencies: 
--   PERSONAS (Table)
--   PROYECTOS (Table)
--
CREATE TABLE CAMBIOSALCANCE
(
  IDCAMBIOALCANCE  INTEGER                      NOT NULL,
  NOMBRE           VARCHAR2(70)                 NOT NULL,
  FECHA            DATE                         NOT NULL,
  IDPROYECTO       INTEGER                      NOT NULL,
  IDPERSONA        INTEGER                      NOT NULL,
  ESTADO           CHAR(1)                      NOT NULL,
  DESCRIP          VARCHAR2(1024)               NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE DOCUMENTOSCAMBIOSALCANCE
 DROP PRIMARY KEY CASCADE;
DROP TABLE DOCUMENTOSCAMBIOSALCANCE CASCADE CONSTRAINTS;

--
-- DOCUMENTOSCAMBIOSALCANCE  (Table) 
--
--  Dependencies: 
--   CAMBIOSALCANCE (Table)
--   PERSONAS (Table)
--
CREATE TABLE DOCUMENTOSCAMBIOSALCANCE
(
  IDDOCUMENTOCAMBIOSALCANCE  INTEGER            NOT NULL,
  IDCAMBIOALCANCE            INTEGER            NOT NULL,
  NOMBRE                     VARCHAR2(255)      NOT NULL,
  PATH                       VARCHAR2(400)      NOT NULL,
  FECHA                      DATE               NOT NULL,
  AUTOR                      NUMBER(38)         NOT NULL
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE DOCUMENTOSINSTALACION
 DROP PRIMARY KEY CASCADE;
DROP TABLE DOCUMENTOSINSTALACION CASCADE CONSTRAINTS;

--
-- DOCUMENTOSINSTALACION  (Table) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--   PERSONAS (Table)
--   TIPODOCUMENTO (Table)
--
CREATE TABLE DOCUMENTOSINSTALACION
(
  IDDOCUMENTOINSTALACION  NUMBER(38)            NOT NULL,
  NOMBRE                  VARCHAR2(255)         NOT NULL,
  PATH                    VARCHAR2(400)         NOT NULL,
  IDINSTALACION           NUMBER(38),
  IDTIPODOCUMENTO         NUMBER(38),
  VERSION                 VARCHAR2(10),
  FECHA                   DATE                  NOT NULL,
  AUTOR                   NUMBER(38)            NOT NULL,
  DESCRIPCION             VARCHAR2(512)
)
LOGGING 
NOCACHE
NOPARALLEL;


ALTER TABLE INSTANCIAPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE INSTANCIAPROYECTO CASCADE CONSTRAINTS;

--
-- INSTANCIAPROYECTO  (Table) 
--
--  Dependencies: 
--   INSTANCIAS (Table)
--   ESTADOINSTANCIA (Table)
--   PROYECTOS (Table)
--
CREATE TABLE INSTANCIAPROYECTO
(
  IDINSTANCIAPROYECTO  NUMBER                   NOT NULL,
  IDPROYECTO           NUMBER,
  IDESTAINSTA          NUMBER,
  IDINSTANCIA          NUMBER,
  VERSION              NUMBER                   NOT NULL,
  DESCRIPCION          VARCHAR2(2056)
)
LOGGING 
NOCACHE
NOPARALLEL;


--
-- PK_DOCUMENTOSCAMBIOSALCANCE  (Index) 
--
--  Dependencies: 
--   DOCUMENTOSCAMBIOSALCANCE (Table)
--
CREATE UNIQUE INDEX PK_DOCUMENTOSCAMBIOSALCANCE ON DOCUMENTOSCAMBIOSALCANCE
(IDDOCUMENTOCAMBIOSALCANCE)
LOGGING
NOPARALLEL;


--
-- XIF1INSTANCIAPROYECTO  (Index) 
--
--  Dependencies: 
--   INSTANCIAPROYECTO (Table)
--
CREATE INDEX XIF1INSTANCIAPROYECTO ON INSTANCIAPROYECTO
(IDINSTANCIA)
LOGGING
NOPARALLEL;


--
-- XIF2INSTANCIAPROYECTO  (Index) 
--
--  Dependencies: 
--   INSTANCIAPROYECTO (Table)
--
CREATE INDEX XIF2INSTANCIAPROYECTO ON INSTANCIAPROYECTO
(IDPROYECTO)
LOGGING
NOPARALLEL;


--
-- XIF3INSTANCIAPROYECTO  (Index) 
--
--  Dependencies: 
--   INSTANCIAPROYECTO (Table)
--
CREATE INDEX XIF3INSTANCIAPROYECTO ON INSTANCIAPROYECTO
(IDESTAINSTA)
LOGGING
NOPARALLEL;


--
-- XPKCAMBIOSALCANCE  (Index) 
--
--  Dependencies: 
--   CAMBIOSALCANCE (Table)
--
CREATE UNIQUE INDEX XPKCAMBIOSALCANCE ON CAMBIOSALCANCE
(IDCAMBIOALCANCE)
LOGGING
NOPARALLEL;


--
-- XPKDOCUMENTOSINSTALACION  (Index) 
--
--  Dependencies: 
--   DOCUMENTOSINSTALACION (Table)
--
CREATE UNIQUE INDEX XPKDOCUMENTOSINSTALACION ON DOCUMENTOSINSTALACION
(IDDOCUMENTOINSTALACION)
LOGGING
NOPARALLEL;


--
-- XPKINSTANCIAPROYECTO  (Index) 
--
--  Dependencies: 
--   INSTANCIAPROYECTO (Table)
--
CREATE UNIQUE INDEX XPKINSTANCIAPROYECTO ON INSTANCIAPROYECTO
(IDINSTANCIAPROYECTO)
LOGGING
NOPARALLEL;


DROP VIEW YACIMIENTOS_VIEW;

--
-- YACIMIENTOS_VIEW  (View) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--   UE_VIEW (View)
--   ZONA_VIEW (View)
--
CREATE OR REPLACE VIEW YACIMIENTOS_VIEW
AS 
SELECT ue_view.idjerar idunidadeconomica, zon.idjerar idzona, jer.idjerar ID,
       jer.jerar descrip
  FROM ue_view ue_view, zona_view zon, jerarquias jer
 WHERE ((zon.idpadre = ue_view.idjerar) AND (jer.idpadre = zon.idjerar) AND (jer.nivel = 3));


ALTER TABLE DOCUMENTOINSTANCIAPROYECTO
 DROP PRIMARY KEY CASCADE;
DROP TABLE DOCUMENTOINSTANCIAPROYECTO CASCADE CONSTRAINTS;

--
-- DOCUMENTOINSTANCIAPROYECTO  (Table) 
--
--  Dependencies: 
--   DOCUMENTOS (Table)
--   INSTANCIAPROYECTO (Table)
--
CREATE TABLE DOCUMENTOINSTANCIAPROYECTO
(
  IDDOCUMENTOINSTANCIAPROYECTO  NUMBER(38)      NOT NULL,
  IDDOCUMENTO                   NUMBER(38),
  IDINSTANCIAPROYECTO           NUMBER(38),
  VERSION                       VARCHAR2(10),
  FECHA                         DATE            NOT NULL,
  AUTOR                         NUMBER(38)      NOT NULL,
  DESCRIPCION                   VARCHAR2(255)
)
LOGGING 
NOCACHE
NOPARALLEL;


--
-- XIF1DOCUMENTOINSTANCIAPROYECTO  (Index) 
--
--  Dependencies: 
--   DOCUMENTOINSTANCIAPROYECTO (Table)
--
CREATE INDEX XIF1DOCUMENTOINSTANCIAPROYECTO ON DOCUMENTOINSTANCIAPROYECTO
(IDDOCUMENTO)
LOGGING
NOPARALLEL;


--
-- XIF2DOCUMENTOINSTANCIAPROYECTO  (Index) 
--
--  Dependencies: 
--   DOCUMENTOINSTANCIAPROYECTO (Table)
--
CREATE INDEX XIF2DOCUMENTOINSTANCIAPROYECTO ON DOCUMENTOINSTANCIAPROYECTO
(IDINSTANCIAPROYECTO)
LOGGING
NOPARALLEL;


--
-- XPKDOCUMENTOINSTANCIAPROYECTO  (Index) 
--
--  Dependencies: 
--   DOCUMENTOINSTANCIAPROYECTO (Table)
--
CREATE UNIQUE INDEX XPKDOCUMENTOINSTANCIAPROYECTO ON DOCUMENTOINSTANCIAPROYECTO
(IDDOCUMENTOINSTANCIAPROYECTO)
LOGGING
NOPARALLEL;


DROP VIEW INSTALACIONES_VIEW;

--
-- INSTALACIONES_VIEW  (View) 
--
--  Dependencies: 
--   JERARQUIAS (Table)
--   YACIMIENTOS_VIEW (View)
--
CREATE OR REPLACE VIEW INSTALACIONES_VIEW
AS 
SELECT yac.idunidadeconomica, yac.idzona, yac.ID idyacimiento, jer.idjerar ID,
       jer.jerar descrip
  FROM yacimientos_view yac, jerarquias jer
 WHERE ((jer.idpadre = yac.ID) AND (jer.nivel = 4));


-- 
-- Non Foreign Key Constraints for Table ESTADOINSTANCIA 
-- 
ALTER TABLE ESTADOINSTANCIA ADD (
  CONSTRAINT XPKESTADOINSTANCIA
 PRIMARY KEY
 (IDESTAINSTA));

-- 
-- Non Foreign Key Constraints for Table ESTADOPROYECTO 
-- 
ALTER TABLE ESTADOPROYECTO ADD (
  CONSTRAINT PKESTADOPROYECTO
 PRIMARY KEY
 (IDESTADOPROYECTO));

-- 
-- Non Foreign Key Constraints for Table INSTANCIAS 
-- 
ALTER TABLE INSTANCIAS ADD (
  CONSTRAINT XPKINSTANCIAS
 PRIMARY KEY
 (IDINSTANCIA));

-- 
-- Non Foreign Key Constraints for Table NORMAS 
-- 
ALTER TABLE NORMAS ADD (
  CONSTRAINT XPKNORMAS
 PRIMARY KEY
 (IDNORMA));

-- 
-- Non Foreign Key Constraints for Table NUMERADORPROYECTO 
-- 
ALTER TABLE NUMERADORPROYECTO ADD (
  CONSTRAINT PKNUMERADORPROYECTO
 PRIMARY KEY
 (ANIO, IDPROYECTO));

-- 
-- Non Foreign Key Constraints for Table PERMISOS 
-- 
ALTER TABLE PERMISOS ADD (
  CONSTRAINT XPKPERMISOS
 PRIMARY KEY
 (IDPERMISO));

-- 
-- Non Foreign Key Constraints for Table PERSONAS 
-- 
ALTER TABLE PERSONAS ADD (
  CONSTRAINT XPKPERSONAS
 PRIMARY KEY
 (IDPERSONA));

-- 
-- Non Foreign Key Constraints for Table PROYECTOSLOG 
-- 
ALTER TABLE PROYECTOSLOG ADD (
  CONSTRAINT XPKPROYECTOSLOG
 PRIMARY KEY
 (IDPROYECTOLOG));

-- 
-- Non Foreign Key Constraints for Table ROLES 
-- 
ALTER TABLE ROLES ADD (
  CONSTRAINT XPKROLES
 PRIMARY KEY
 (IDROL));

-- 
-- Non Foreign Key Constraints for Table ROLPERMISO 
-- 
ALTER TABLE ROLPERMISO ADD (
  CONSTRAINT XPKROLPERMISO
 PRIMARY KEY
 (IDROLPERMISO));

-- 
-- Non Foreign Key Constraints for Table TIPODOCUMENTO 
-- 
ALTER TABLE TIPODOCUMENTO ADD (
  CONSTRAINT PKTIPODOCUMENTO
 PRIMARY KEY
 (IDTIPODOCUMENTO));

-- 
-- Non Foreign Key Constraints for Table TIPOINSTALACION 
-- 
ALTER TABLE TIPOINSTALACION ADD (
  CONSTRAINT PKTIPOINSTALACION
 PRIMARY KEY
 (IDTIPOINSTALACION));

-- 
-- Non Foreign Key Constraints for Table TIPOINSTTIPODOC 
-- 
ALTER TABLE TIPOINSTTIPODOC ADD (
  CONSTRAINT PK_TIPOINSTTIPODOC
 PRIMARY KEY
 (IDTIPOINSTALACION, IDTIPODOCUMENTO));

-- 
-- Non Foreign Key Constraints for Table TIPOPROYECTOS 
-- 
ALTER TABLE TIPOPROYECTOS ADD (
  CONSTRAINT XPKTIPOPROYECTOS
 PRIMARY KEY
 (IDTIPOPROYEC));

-- 
-- Non Foreign Key Constraints for Table DOCUMENTOS 
-- 
ALTER TABLE DOCUMENTOS ADD (
  CONSTRAINT XPKDOCUMENTOS
 PRIMARY KEY
 (IDDOCUMENTO));

-- 
-- Non Foreign Key Constraints for Table INSTANCIATIPODOCUMENTO 
-- 
ALTER TABLE INSTANCIATIPODOCUMENTO ADD (
  CONSTRAINT PKINSTANCIATIPODOCUMENTO
 PRIMARY KEY
 (IDTIPODOCUMENTO, IDINSTANCIA));

-- 
-- Non Foreign Key Constraints for Table INSTANCIATIPOPROYECTO 
-- 
ALTER TABLE INSTANCIATIPOPROYECTO ADD (
  CONSTRAINT XPKINSTANCIATIPOPROYECTO
 PRIMARY KEY
 (IDINSTANCIATIPOPROYECTO));

-- 
-- Non Foreign Key Constraints for Table JERARQUIAS 
-- 
ALTER TABLE JERARQUIAS ADD (
  CONSTRAINT XPKJERARQUIAS
 PRIMARY KEY
 (IDJERAR));

-- 
-- Non Foreign Key Constraints for Table PROYECTOS 
-- 
ALTER TABLE PROYECTOS ADD (
  CONSTRAINT XPKPROYECTOS
 PRIMARY KEY
 (IDPROYECTO));

-- 
-- Non Foreign Key Constraints for Table ROLJERARQUIAPERSONA 
-- 
ALTER TABLE ROLJERARQUIAPERSONA ADD (
  CONSTRAINT XPKROLJERARQUIAPERSONA
 PRIMARY KEY
 (IDROLJERARQUIAPERSONA));

-- 
-- Non Foreign Key Constraints for Table ROLPERSONAPROYECTO 
-- 
ALTER TABLE ROLPERSONAPROYECTO ADD (
  CONSTRAINT PK_ROLPERSONAPROYECTO
 PRIMARY KEY
 (IDROLPERSONAPROYECTO));

-- 
-- Non Foreign Key Constraints for Table ROLTIPOPROYECTO 
-- 
ALTER TABLE ROLTIPOPROYECTO ADD (
  CONSTRAINT PKROLTIPOPROYECTO
 PRIMARY KEY
 (IDROL, IDTIPOPROYEC));

-- 
-- Non Foreign Key Constraints for Table SUBTIPOPROYECTO 
-- 
ALTER TABLE SUBTIPOPROYECTO ADD (
  CONSTRAINT PKSUBTIPOPROYECTO
 PRIMARY KEY
 (IDSUBTIPOPROYECTO));

-- 
-- Non Foreign Key Constraints for Table CAMBIOSALCANCE 
-- 
ALTER TABLE CAMBIOSALCANCE ADD (
  CONSTRAINT XPKCAMBIOSALCANCE
 PRIMARY KEY
 (IDCAMBIOALCANCE));

-- 
-- Non Foreign Key Constraints for Table DOCUMENTOSCAMBIOSALCANCE 
-- 
ALTER TABLE DOCUMENTOSCAMBIOSALCANCE ADD (
  CONSTRAINT PK_DOCUMENTOSCAMBIOSALCANCE
 PRIMARY KEY
 (IDDOCUMENTOCAMBIOSALCANCE));

-- 
-- Non Foreign Key Constraints for Table DOCUMENTOSINSTALACION 
-- 
ALTER TABLE DOCUMENTOSINSTALACION ADD (
  CONSTRAINT XPKDOCUMENTOSINSTALACION
 PRIMARY KEY
 (IDDOCUMENTOINSTALACION));

-- 
-- Non Foreign Key Constraints for Table INSTANCIAPROYECTO 
-- 
ALTER TABLE INSTANCIAPROYECTO ADD (
  CONSTRAINT XPKINSTANCIAPROYECTO
 PRIMARY KEY
 (IDINSTANCIAPROYECTO));

-- 
-- Non Foreign Key Constraints for Table DOCUMENTOINSTANCIAPROYECTO 
-- 
ALTER TABLE DOCUMENTOINSTANCIAPROYECTO ADD (
  CONSTRAINT XPKDOCUMENTOINSTANCIAPROYECTO
 PRIMARY KEY
 (IDDOCUMENTOINSTANCIAPROYECTO));

-- 
-- Foreign Key Constraints for Table ROLPERMISO 
-- 
ALTER TABLE ROLPERMISO ADD (
  CONSTRAINT R_20 
 FOREIGN KEY (IDPERMISO) 
 REFERENCES PERMISOS (IDPERMISO),
  CONSTRAINT R_21 
 FOREIGN KEY (IDROL) 
 REFERENCES ROLES (IDROL));

-- 
-- Foreign Key Constraints for Table TIPOINSTTIPODOC 
-- 
ALTER TABLE TIPOINSTTIPODOC ADD (
  CONSTRAINT FK_TIPOINSRTIPODOC_TIPOINST 
 FOREIGN KEY (IDTIPOINSTALACION) 
 REFERENCES TIPOINSTALACION (IDTIPOINSTALACION),
  CONSTRAINT FK_TIPOINSTTIPODOC_TIPODOC 
 FOREIGN KEY (IDTIPODOCUMENTO) 
 REFERENCES TIPODOCUMENTO (IDTIPODOCUMENTO));

-- 
-- Foreign Key Constraints for Table DOCUMENTOS 
-- 
ALTER TABLE DOCUMENTOS ADD (
  CONSTRAINT FKDOCUMENTOS_TIPODOCUMENTO 
 FOREIGN KEY (IDTIPODOCUMENTO) 
 REFERENCES TIPODOCUMENTO (IDTIPODOCUMENTO));

-- 
-- Foreign Key Constraints for Table INSTANCIATIPODOCUMENTO 
-- 
ALTER TABLE INSTANCIATIPODOCUMENTO ADD (
  CONSTRAINT FKINSTIPODOCU_INSTANCIA 
 FOREIGN KEY (IDINSTANCIA) 
 REFERENCES INSTANCIAS (IDINSTANCIA),
  CONSTRAINT FKINSTIPODOCU_TIPODOCU 
 FOREIGN KEY (IDTIPODOCUMENTO) 
 REFERENCES TIPODOCUMENTO (IDTIPODOCUMENTO));

-- 
-- Foreign Key Constraints for Table INSTANCIATIPOPROYECTO 
-- 
ALTER TABLE INSTANCIATIPOPROYECTO ADD (
  CONSTRAINT R_5 
 FOREIGN KEY (IDINSTANCIA) 
 REFERENCES INSTANCIAS (IDINSTANCIA),
  CONSTRAINT R_6 
 FOREIGN KEY (IDTIPOPROYEC) 
 REFERENCES TIPOPROYECTOS (IDTIPOPROYEC));

-- 
-- Foreign Key Constraints for Table JERARQUIAS 
-- 
ALTER TABLE JERARQUIAS ADD (
  CONSTRAINT FK_JERAR_TIPOINST 
 FOREIGN KEY (IDTIPOINSTALACION) 
 REFERENCES TIPOINSTALACION (IDTIPOINSTALACION));

-- 
-- Foreign Key Constraints for Table PROYECTOS 
-- 
ALTER TABLE PROYECTOS ADD (
  CONSTRAINT FKPROYECTOS_CLIENTES 
 FOREIGN KEY (CLIENTE) 
 REFERENCES PERSONAS (IDPERSONA),
  CONSTRAINT FKPROYECTOS_PERSONAS 
 FOREIGN KEY (IDRESPONSABLE) 
 REFERENCES PERSONAS (IDPERSONA),
  CONSTRAINT R_3 
 FOREIGN KEY (IDJERAR) 
 REFERENCES JERARQUIAS (IDJERAR),
  CONSTRAINT R_4 
 FOREIGN KEY (IDTIPOPROYEC) 
 REFERENCES TIPOPROYECTOS (IDTIPOPROYEC),
  CONSTRAINT FK_ESTADOPROYECTO 
 FOREIGN KEY (IDESTADO) 
 REFERENCES ESTADOPROYECTO (IDESTADOPROYECTO));

-- 
-- Foreign Key Constraints for Table ROLJERARQUIAPERSONA 
-- 
ALTER TABLE ROLJERARQUIAPERSONA ADD (
  CONSTRAINT FK_PERSONAS 
 FOREIGN KEY (IDPERSONA) 
 REFERENCES PERSONAS (IDPERSONA),
  CONSTRAINT R_23 
 FOREIGN KEY (IDJERAR) 
 REFERENCES JERARQUIAS (IDJERAR),
  CONSTRAINT R_24 
 FOREIGN KEY (IDROL) 
 REFERENCES ROLES (IDROL));

-- 
-- Foreign Key Constraints for Table ROLPERSONAPROYECTO 
-- 
ALTER TABLE ROLPERSONAPROYECTO ADD (
  CONSTRAINT FK_PERSONA 
 FOREIGN KEY (IDPERSONA) 
 REFERENCES PERSONAS (IDPERSONA),
  CONSTRAINT FK_PROYECTO 
 FOREIGN KEY (IDPROYECTO) 
 REFERENCES PROYECTOS (IDPROYECTO),
  CONSTRAINT FK_ROL 
 FOREIGN KEY (IDROL) 
 REFERENCES ROLES (IDROL));

-- 
-- Foreign Key Constraints for Table ROLTIPOPROYECTO 
-- 
ALTER TABLE ROLTIPOPROYECTO ADD (
  CONSTRAINT FKROLTIPOPROYECTO_TIPOPROYEC 
 FOREIGN KEY (IDTIPOPROYEC) 
 REFERENCES TIPOPROYECTOS (IDTIPOPROYEC),
  CONSTRAINT ROLTIPOPROYECTO_ROL 
 FOREIGN KEY (IDROL) 
 REFERENCES ROLES (IDROL));

-- 
-- Foreign Key Constraints for Table SUBTIPOPROYECTO 
-- 
ALTER TABLE SUBTIPOPROYECTO ADD (
  CONSTRAINT FK_TIPOPROYECTO 
 FOREIGN KEY (IDTIPOPROYECTO) 
 REFERENCES TIPOPROYECTOS (IDTIPOPROYEC));

-- 
-- Foreign Key Constraints for Table CAMBIOSALCANCE 
-- 
ALTER TABLE CAMBIOSALCANCE ADD (
  CONSTRAINT FKCAMBIOSALCANCE_PERSONAS 
 FOREIGN KEY (IDPERSONA) 
 REFERENCES PERSONAS (IDPERSONA),
  CONSTRAINT FKCAMBIOSALCANCE_PROYECTOS 
 FOREIGN KEY (IDPROYECTO) 
 REFERENCES PROYECTOS (IDPROYECTO));

-- 
-- Foreign Key Constraints for Table DOCUMENTOSCAMBIOSALCANCE 
-- 
ALTER TABLE DOCUMENTOSCAMBIOSALCANCE ADD (
  CONSTRAINT FKDOCUCA_CAMBIOALCANCE 
 FOREIGN KEY (IDCAMBIOALCANCE) 
 REFERENCES CAMBIOSALCANCE (IDCAMBIOALCANCE),
  CONSTRAINT FKDOCUCA_PERSONAS 
 FOREIGN KEY (AUTOR) 
 REFERENCES PERSONAS (IDPERSONA));

-- 
-- Foreign Key Constraints for Table DOCUMENTOSINSTALACION 
-- 
ALTER TABLE DOCUMENTOSINSTALACION ADD (
  CONSTRAINT FKDOCINSTA_TIPODOCUMENTO 
 FOREIGN KEY (IDTIPODOCUMENTO) 
 REFERENCES TIPODOCUMENTO (IDTIPODOCUMENTO),
  CONSTRAINT FKDOCINSTA_JERARQUIAS 
 FOREIGN KEY (IDINSTALACION) 
 REFERENCES JERARQUIAS (IDJERAR),
  CONSTRAINT FKDOCINSTA_PERSONAS 
 FOREIGN KEY (AUTOR) 
 REFERENCES PERSONAS (IDPERSONA));

-- 
-- Foreign Key Constraints for Table INSTANCIAPROYECTO 
-- 
ALTER TABLE INSTANCIAPROYECTO ADD (
  CONSTRAINT R_1 
 FOREIGN KEY (IDINSTANCIA) 
 REFERENCES INSTANCIAS (IDINSTANCIA),
  CONSTRAINT R_18 
 FOREIGN KEY (IDESTAINSTA) 
 REFERENCES ESTADOINSTANCIA (IDESTAINSTA),
  CONSTRAINT R_19 
 FOREIGN KEY (IDPROYECTO) 
 REFERENCES PROYECTOS (IDPROYECTO));

-- 
-- Foreign Key Constraints for Table DOCUMENTOINSTANCIAPROYECTO 
-- 
ALTER TABLE DOCUMENTOINSTANCIAPROYECTO ADD (
  CONSTRAINT FK_DCINSPRO_DOCUMENTOS 
 FOREIGN KEY (IDDOCUMENTO) 
 REFERENCES DOCUMENTOS (IDDOCUMENTO),
  CONSTRAINT R_10 
 FOREIGN KEY (IDINSTANCIAPROYECTO) 
 REFERENCES INSTANCIAPROYECTO (IDINSTANCIAPROYECTO));

